Wie soll das andere Programm den Code denn empfangen? Über TCP/IP? Über die Standard-Ein-/Ausgabe? Über Pipes? SharedMemory? DDE? CORBA? SOAP? Brieftauben?
Wenn Du ein anderes Programm von Java aus startest, dann erhältst Du ein Process-Objekt. Von dem kannst Du per getInputStream() , getOutputStream() und getErrorStream() die Kanäle bekommen und dann mit java.io.*-Mitteln lesen und schreiben.