So, you control the command (pathToExe) and worry only about the argument? How well do you know the team? Is there a chance that he might run another program? Is there a chance that he could damage something without even calling a secondary command? Does the program have any other vulnerabilities (buffer overflow, etc.)?
As a general answer, this approach seems inconvenient to me, especially if you want this to work on a cross platform. If you know the command that needs to be executed, and you can limit the input, then you can squeak, but personally I would not use this approach if there really was no reason for this.
source share