コマンドと引数をStringのListで用意してexecuteを呼び出すとOSに依存しないシェル実行が可能になる。
Stringと同様にListに対してもexecute系の機能が用意されている。
とは言っても、コマンド自体のパスについてはOS切り分けが必要になる場合が多い。(フルパスの場合は間違いなく切り分けが必要)
['C:/Program Files/Application 1/Program 1.exe', '-a', 'a 1'].execute()
ちなみにStringで、半角空白を含む部分を"などで自力で括ると、Windowsでは動くがMacOS Xでは動かないなどの事象が発生する。