If you want the program to start at boot as you wrote and do not want it to run with root privileges then use the su command in the boot script to "switch user".
Code:
su -l <username> -c <command>
The -l (letter l) simulates the environment the user would get when they logged in which may be essential.
The technique is often used for starting databases but best not look for such examples because few DBAs can write decent shellscript (for reasons I've never fathomed -- I guess they don't do much of it).