When a child process is created via fork(), it starts as an exact duplicate of the parent process - same memory image, program counter, file descriptors, and execution state. While exec() can replace this with a different program, the fork() itself creates an identical copy.