Java ProcessBuilder con múltiples parámetros con espacios

Sé que hay muchas preguntas resueltas con respecto a la ejecución de procesos desde java. Pero no puedo resolver mi problema usando las respuestas proporcionadas. Estoy intentando crear una copia de seguridad de la base de datos postgresql desde la aplicación java. Yo uso el siguiente código

        //ProcessBuilder probuilder = new ProcessBuilder(new String[]{"cmd","/c","D:/PostgreSQL 8.2/bin/pg_dump.exe","-U","usr","-i","-h","localhost","-p","5432","-F","c","-b","-f","D:/backup test/backups/test_27-1-2013_210.backup", "test"});
        //ProcessBuilder probuilder = new ProcessBuilder(new String[]{"cmd","/c","D:\\PostgreSQL 8.2\\bin\\pg_dump.exe","-U","usr","-i","-h","localhost","-p","5432","-F","c","-b","-f","D:\\backup test\\backups\\test_27-1-2013_210.backup", "test"});
        ProcessBuilder probuilder = new ProcessBuilder(new String[]{"cmd","/c","\"D:\\PostgreSQL 8.2\\bin\\pg_dump.exe\"","-U","usr","-i","-h","localhost","-p","5432","-F","c","-b","-f","\"D:\\backup test\\backups\\test_27-1-2013_210.backup\"", "test"});
        Map<String, String> env = probuilder.environment();
        env.put("PGPASSWORD", "mypass");

        final Process process = probuilder.start();

Después de ejecutar el código anterior obtengo el siguiente error:D:\PostgreSQL' is not recognized as an internal or external command, operable program or batch file.

El problema ocurre solo cuando la ruta al archivo de copia de seguridad contiene espacios, de lo contrario se creará la copia de seguridad. He intentado usar tanto la barra inclinada como la barra invertida en la ruta del archivo y cité la ruta del archivo, pero siempre aparece el mismo error. El comando se puede ejecutar desde el símbolo del sistema.

Que estoy haciendo mal. ¿Hay algunas limitaciones con respecto a la cantidad de parámetros con espacios en ProcessBuilder? Gracias

Respuestas a la pregunta(1)

Su respuesta a la pregunta