Javaからmysqlコマンドを実行し、結果をファイルに書き出したいのですがうまく行きません。

実行環境はMacOS 10.11.2です。

public class Main {
    public static void main(String[] args) {
        String[] cmd = new String[]{"/bin/sh", "-c", "mysql", "-u", "root", "-ppassword", "databaseName"};

        ProcessBuilder builder = new ProcessBuilder(cmd);
        builder.redirectInput(ProcessBuilder.Redirect.from(new File("sample.sql")));
        builder.redirectOutput(new File("result.tsv"));

        try {
            Process p = builder.start();
            p.waitFor();
            System.out.println(builder.redirectInput());
        } catch (IOException | InterruptedException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}

sample.sql select * from sample;

コンソールにredirect to read from file "sample.sql"と出力され、
result.tsvは空白のまま生成されます。

ターミナルに直接mysql -u root -ppassword -D sql2xlsx < sample.sql > result.tsvと入力した場合は、
result.tsvにはselectの結果が入力されます。