As when we do fork on current process, our process as parent process generates child process with same characteristics but different process IDs. So after that, when we do exec() in our child process, process stops execution, and our program which was executing in our stoppped child process, now has his own process.
Isn't that the same as when we run our applications in particular after which every application has his own process and PID?
exec()
doesn't change the PID, if that's what you're asking.