Да.Google gvisor или rump для примеров того, как это сделать.Короткая история: вы начинаете с процесса Mother, который разветвляется () для создания новых детей.Этими дочерними объектами управляет ptrace (), который изолирует их от ядра.Затем материнский процесс манипулирует адресным пространством (ами) детей так, как считает нужным;сделать их идентичными - это один из вариантов.
Обычно здесь используется небольшая хитрость при начальной загрузке, поэтому, когда ребенок вызывает fork (), Мать разветвляется и исполняет известный двоичный файл (re: aspace layout), а затем продолжаетдля клонирования оригинального fork () пробел в новый.