I think you will need to log the user in with a sudo command to start the program under the target user credentials. You need to set this up in the sudo configuration files or Yast.
I have had the answer elsewhere, it’s su (I did look at sudo with no luck):
su virtual -c "VBoxManage startvm s-r"
however, I still wonder if this will start in boot.local. Copy of this file:
# Here you should add things, that should happen directly after booting
# before we're going to the first run level.
I remember long time agos having to write my own “boot.final”, that is a script run at the end of the boot process (specially after any network config)