I would like to build a program which takes a username as parameter and creates the user and its home folder (with some hard-coded specifications like folde
You mean like adduser or useradd? Try looking at their source code.
adduser
useradd