Если вы используете vfork (), оба процесса совместно используют адресное пространство. Вероятно, вам следует использовать vfork () только в том случае, если вы собираетесь выполнить другой процесс почти сразу же в дочернем процессе. Причина, по которой был создан системный вызов, состояла в том, чтобы избежать накладных расходов на копирование каждой страницы в адресном пространстве родительского процесса только для того, чтобы все эти сопоставления отбрасывались при выполнении дочернего exec. Для вашего случая используйте fork ().