お世話になっております。さて、コマンドラインで

echo "Javaで外部プロセスを実行する" | /usr/local/Cellar/mecab/0.996/bin/mecab -Owakati

と叩くと Java で 外部 プロセス を 実行 する が返ってくる状態で次のようなコードを書きました。

public class MeCab {
    public static void execute()
    {
        try
        {
            String command = "echo \"Javaで外部プロセスを実行する\" | /usr/local/Cellar/mecab/0.996/bin/mecab --Owakati";

            String [] args = command.split(" ");
            Process process = new ProcessBuilder(args).start();
            InputStream is = process.getInputStream();

            InputStreamReader isr = new InputStreamReader(is, "UTF-8");
            BufferedReader reader = new BufferedReader(isr);
            StringBuilder builder = new StringBuilder();
            int c;
            while ((c = reader.read()) != -1) {
                builder.append((char) c);
            }

            String text = builder.toString();

            int ret = process.waitFor();
            System.out.println(text);
            System.out.println(ret);
        }
        catch (IOException | InterruptedException e)
        {

        }

    }

    public static void main(String [] a )
    {
        execute();
    }
}

その結果

"Javaで外部プロセスを実行する" | /usr/local/Cellar/mecab/0.996/bin/mecab --Owakati

0

Process finished with exit code 0

となって期待通りに動作しません。mecabの標準入力に文章を与えて結果だけ受け取りたいのですが、どうしたらできるでしょうか?

なお、MeCabのJavaバインディングやKuromojiといった同種のプログラムのJava実装があることは知っていますが、今回は外部プロセスでMeCabを呼びたい事情があります。

開発環境は Mac OS X Ver. 10.14.4と

java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

ですが、本番環境はCentOS 6になります。

よろしくお願いします。