Como usar javas Process.waitFor ()?

Estou tentando executar comandos de linha de comando a partir de Java e uma rápida verificação de integridade me fez perceber que a razão pela qual estou tendo problemas é que não consigo obter opr.waitFor() ligue abaixo para trabalhar. Este programa termina em menos de 30 segundos e não imprime nada após "foo:". Eu esperava que demorasse pouco mais de 30 se imprimisse um número aleatório após "foo:". O que estou fazendo errado

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Sample {

    public static void main(String[] args) throws Exception {
        Runtime rt = Runtime.getRuntime();
        Process pr = rt.exec("sleep 32; echo $RANDOM");
        pr.waitFor();

        BufferedReader input = new BufferedReader(
                                   new InputStreamReader(pr.getInputStream()));
        String line=null;

        StringBuilder s = new StringBuilder();
        while((line=input.readLine()) != null) {
            System.out.println(s);
            s.append(line);
        }
        System.out.println("foo: " + s.toString());
    }
}

questionAnswers(3)

yourAnswerToTheQuestion