java runtime.getRuntime.exec (cmd) con parámetros largos

Estoy haciendo una interfaz para una aplicación de línea de comandos. Tiene una línea muy larga. La línea de comando es algo similar a esto:

public String liveShellCommand(){

  String cmd="command mode --parameter arg --parameter2 arg2 --parameter3 arg3";

  Runtime run = Runtime.getRuntime() ;
  Process pr ;
    try {
       log.progress("sending command: " +cmd);       
       pr = run.exec( cmd );
       pr.waitFor() ;

Todo parece funcionar hasta que agrego el interruptor "modo" en él. El interruptor "modo" se ejecuta desde la línea de comando. He intentado algunas combinaciones dividiendo los parámetros en una matriz que tampoco se ejecuta. Creo que tiene algo que ver con el "modo" que no tiene un - delante de él, y no puede tener un - delante de él.

¿Qué estoy haciendo mal

edit: olvidé mencionar que todo lo que puedo ver es esto: el depurador se detuvo en el código fuente no compilable. Estoy usando netbeans y no parece imprimir un seguimiento de la pila. Se detiene en el run.exec (cmd). ¿Hay algo mal con Java?

Pude usar ProcessBuilder para ejecutarlo sin simplemente fallar ...

Analiza "comando" muy bien, pero cuando agrego "modo de comando"

 java.io.IOException: Cannot run program "command mode": java.io.IOException: error=2, No such file or directory

Así que no puedo analizar eso, supongo.

Respuestas a la pregunta(3)

Su respuesta a la pregunta