Ciao grazie per la velocità della risposta. Ti scrivo il tuo codice modificato:
codice:
try {
String command="C:\\Program Files\\PostgreSQL\\9.0\\bin\\pgsql2shp.exe";
String arg="-f \"C:\\Users\\Proprietario\\Desktop\\giunzione\" -h \"localhost\" -p \"5432\" -u \"postgres\" -g \"the geom\" \"comuneFi\" \"GIA_GIUNZIONE\"";
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec("cmd.exe /C "+command+" "+arg);
BufferedReader input = new BufferedReader(new InputStreamReader(pr.getInputStream()));
String line=null;
while((line=input.readLine()) != null) {
System.out.println(line);
}
int exitVal = pr.waitFor();
System.out.println("Exited with error code "+exitVal);
} catch(Exception e) {
System.out.println(e.toString());
e.printStackTrace();
}
Purtroppo non funziona. Ho provato a immettere nel prompt il comando che gli passiamo noi:
codice:
C:\Program Files\PostgreSQL\9.0\bin\pgsql2shp.exe -f "C:\Users\Proprietario\Desktop\giunzione" -h "localhost" -p "5432" -u "postgres" -g "the geom" "comuneFi" "GIA_GIUNZIONE"
e non funziona. Bisogna necessariamente fare il cambio di directory e poi lanciare l'eseguibile con gli argomenti. 
p.s. il codice di uscita è 1.