Your original approach, using Runtime should work just fine, and has got to be the easiest way to go. What exactly are you passing in as cmd, and what exactly is the error/exception?
Except, of course, that it varies from system to system and installation to installation and so, is only ever certain to work on that system on which it was developed, as long as the installation parameters don't change.
So, yes, should be easy to get working, but oooooo God is it dependable, huh?