Executar um comando do terminal linux em java?

Eu estou tentando executar um comando SOX do java, mas infelizmente está retornando um erro toda vez. Todos os outros comandos SOX estão funcionando perfeitamente !! Aqui está o código:

class Simple {
    public static void main(String args[]) throws IOException, Exception {
        Process p;
        BufferedReader br;
        String co = "sox speech_16.wav -p pad 0 2.5 | sox - -m speech_16.wav speech_output.wav";
        p = Runtime.getRuntime().exec(co);
        br = new BufferedReader(new InputStreamReader(p.getInputStream()));
            int returnCode = p.waitFor();
        System.out.println("reurn code : "+returnCode);         
    }
}

Quando estou executando o mesmo comando sox no terminal, está funcionando bem. Eu realmente não consigo entender qual é o problema !! É por causa do '|' símbolo??

questionAnswers(2)

yourAnswerToTheQuestion