If not, how can we start a background process in C?
Use the fork() call to create a new process, then exec() to load a program into that process. See the man pages (man 2 fork, man 2 exec) for more information, too.
fork()
man 2 fork
man 2 exec