Вы не можете "открыть PTY для программы". PTY - это псевдотерминал; он требует терминального конца. Если вы хотите общаться с программой напрямую через терминал, программе придется создать терминал (т.е. вести себя как эмулятор терминала).
Вместо этого вы можете запустить программу в терминале, например screen. Screen позволяет легко вводить ввод и читать вывод программ.
Однако для того, что вы делаете, терминал внес бы бесполезные осложнения. Сокет - это именно тот инструмент, который вам нужен, - прямая двунаправленная связь между двумя программами. (Для однонаправленной связи подойдет труба.) Единственное преимущество использования терминала - если вы не контролируете один из концов, и он настаивает на буферизации вывода по блокам, а не по строкам, если вывод не на терминал.