forkpty() を使用せずに、tty (マスターとスレーブ) の新しいペアを作成する必要があります。
man of pts(4) では、次のように書かれています。
プロセスが /dev/ptmx を開くと、疑似端末マスター (PTM) のファイル記述子が取得され、疑似端末スレーブ (PTS) デバイスが /dev/pts ディレクトリに作成されます。
C の小さなプログラムで、次のように /dev/ptmx を開きます。
open("/dev/ptmx", O_RDWR);
しかし、/dev/pts/ には新しい pty は作成されません。