Cygstart bug: doesn't keep command line arguments intact

John Wiersba
Mon Aug 6 03:35:00 GMT 2012

Thanks for your reply, Barry.  Yes, it seems that way to me, too.  But that seems wrong.  I would think that cygstart should pass arg1 as arg1 to the specified command (winword.exe in my example).  That's certainly the way it works in the unix/linux world and cygstart should be considered as an (emulated) unix command, right?  If cygstart were a Windows command I would expect such behavior, but from an (emulated) unix/linux command, I expect the arguments to be kept intact.  

In any case, it makes it awkward to run the command I mentioned, because I have to parse the arguments myself and perform awkward substitutions on them.

-- John

P.S. I don't know why, but my reply kept getting rejected as spam by's filters, even though I was using yahoo's "plain text" mode:

  Remote host said: 552 spam score exceeded threshold (#5.6.1) [BODY]

>> From: "Buchbinder, Barry (NIH/NIAID) [E]" <>
>>John Wiersba wrote August 03, 2012 3:18 PM
>>>Calling              /c/program\ files/microsoft\ office/office12/winword.exe "a b c.doc" works.
>>>Calling cygstart /c/program\ files/microsoft\ office/office12/winword.exe "a b c.doc" tries to open a.doc, b.doc, and c.doc.
>>In the first, bash strips the quotes and passes <a b c.doc> to winword as arg1.
>>In the second, bash strips the quotes and passes <a b c.doc> to cygstart as arg1.
>>cygstart then passes <a>, <b>, and <c.doc> to winword as arg1, arg2, and arg3.
>>At least that is the way I understand it.
>>Subject to correction by the more knowledgeable.
>>So try protecting your double quotes with single quotes.  E.g. '"a b c.doc"'.
>>I don't know if the double quotes get passed to winword, but there is a lesser
>>chance that single quotes will work if they are on the inside, I doubt MS ever
>them as special.

Problem reports:
Unsubscribe info:

More information about the Cygwin mailing list