I prefer to first build a separate string containing the actual command and then passing that to the run() command. Makes it easier to determine if the string is (in)correct. So something basc like:
string ls_run, ls_filename
ls_run = "ftp -s " + ls_filename
run(ls_run, Minimized!)
Just by looking at your code, I would expect that you are missing a space after the -s" , but without knowing what 'file attachement' looks like, I can't say for sure.