a while ago i wrote a small tool that launches putty with predefined profiles from an xml file (it's more easy than managing sessions and supports placeholders for hostkey and usernames so that the config can be shared between multiple users).
I added support for WinSCP so that it can be launched directly with the same settings as putty (password or hostkey, hostname, port). Now i tried to add support for logging in as different user (using sudo). Basically it is possible by creating a dynamic .ini file. The biggest disadvantage is that the default settings (gui style) and the saved hostkeys are overwritten by that ini.
So i would be really glad it it would be possible to specify the shell as command line argument somehow.