But hose commands would not work unless you pass them through a shell!
in reply to Re^2: Splitting up quoted/escaped command line arguments
in thread Splitting up quoted/escaped command line arguments
Or if you prefer to view it from a different angle, you will have to implement in your program all the shell functionality used by those commands!
Update: And BTW, if those commands involve calling ssh, then a shell would be invoked at the remote side. This is an unavoidable feature of the SSH protocol.