Dear Frank and Gustaf,
let me add some few points to this discussion.
When calling an external program/utility we basically need two things:
1. know where the program is (so that we can call it)
2. pass to it the proper parameters (in case they are needed).
Up to now in the discussion you have covered only point 1.
But suppose our program/utility requires as parameter a file name.
In this case file naming conventions are also important "inside" the command line parameters.
Things become even trickier when we used mixed models of file naming conventions. I'll try to explain: in Linux all executable binaries follow the same files naming conventions. In pure Windows, when all the executable binaries are all native Windows binaries, they all follow the same files naming conventions.
On the contrary when some of the binaries are Windows native and others are Cygwin (or MinGW) binaries they are not guaranteed to follow the same files naming conventions.
Hope it helps,
Maurizio