это не сработает. входные данные программы, которые вы разделили с помощью символа новой строки, не являются частью команды оболочки, вызывающей программу. эти данные должны быть переданы в STDIN программы после ее запуска.
Вы должны открыть программу и иметь указатели ресурсов для стандартного ввода и стандартного вывода. чем вы можете читать / писать в / из них
посмотрите документацию и примеры этой функции php:
http://www.php.net/manual/en/function.proc-open.php
как для "как получить вывод":
это как-то неактуально, потому что вы не можете использовать программу, как вы, вероятно, хотите с этим методом. но если вы просто хотите захватить / передать данные из STDOUT, вы можете использовать passthru (). Вы можете включить буферизацию вывода для захвата вывода. это, например, полезно, если вы хотите отобразить строку состояния rsync в вызывающем ее скрипте php-cli.