The vfork system call is used to create a new process in a way that avoids the overhead of duplicating the parent's address space, as done by fork. It is intended for cases where the child process is going to execute a new program immediately after creation.