Выполнить команду терминала Linux в Java?

Я пытаюсь выполнить команду SOX из Java, но, к сожалению, она каждый раз возвращает ошибку. Все остальные команды SOX работают отлично! Вот код:

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);         
    }
}

Когда я выполняю ту же команду sox в терминале, она работает нормально. Я действительно не могу понять, в чем проблема !! Это из-за '?'? условное обозначение??

Ответы на вопрос(2)

Ваш ответ на вопрос