Run preseed commands as specific user / switching users

view story

http://serverfault.com – Beside the usual setup where I create a normal user foo, I want to run a few d-i preseed/late_command commands as that foo user. My initial thought was to simply call those commands with sudo, e.g: d-i preseed/late_command in-target echo "<pwd>" | sudo -Si <command>. This works for some sort of commands. However the problem is that some of the commands load up shell scripts which require to not be run with sudo. Issuing a su -c "<command>" would be an alternative, but su does not offer the possibility to read the password from stdin. Is it safe to jump around between the (HowTos)