The first thread of a process is started when a process starts. This thread is started by default, and therefore does not require any special considerations.
A manager thread is also created when pthreads are used in Linux. This manager thread exists only to create and terminate other threads. It is not the first thread.
The initialization of the first thread and the manager thread is handled in the initialization code that is invoked before main() is called. This is why a threaded program must be compiled with the option -pthread. This step properly links the initialization code for thread management.