ok.. il tuo esempio è stato chiarissimo (sicuramente lo utilizzerò per controllare il programma) tuttavia il mio output è esattamente quello del programma lanciato senza paramentri.. è questo che voglio capire..

sarà mica impazzito l'ide (?!)

io ho esplicitamente scritto che se il main viene lanciato con più di un paramentro non deve essere avviato il programma ma venga fatta solo una stampa di debug

quello che accade è invece: non entra nell'if (args.length > 0)

e avvia il ClientFrame() che sarebbe lo stesso metodo chiamato dal main quando viene esegito la prima volta.. ho usato il costrutto che mi hai postato (quello che stampa con il ciclo gli output e ho modifi
cato System.Out con System.err per vedere in rosso le scritte ed effettivamente è l'output del programma manciato senza parametri)

ho fatto questa prova

String[] args= new String[4];
args[0]="java";
args[1]="-jar";
args[2]=installPathfile;
args[3]="debug";

Process p = Runtime.getRuntime().exec(args);
... il resto di roba per stampare ...

e l'output anzichè essere semplicente

avvio modalità debug

è tutto il normale output del programma avviato da terminale


edit:

ho provato a dare sul terminale

codice:
java -jar /Users/josten/NetBeansProjects/ClientSide/store/myncraft.jar -debug
e il mio output è quello desiderato ovvero solo la scritta avvio modalità debug.. quindi il problema non non credo sia nel codice ma nella visibilità di quel maledetto jar..
sicuramente se creo una classe main di prova che avvia il mio progetto con i parametri voluti, sicuramente funziona..

ora il problema da capire è perchè sia sull'ide che come programma compilato i paramentri passati vengono ignorati?
Problemi di visibilità (?!?!)