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