Você pode definir o script do shell como setuid (para que ele sempre seja executado como o proprietário do arquivo, que será o root), mas isso é uma coisa muito perigosa de se fazer. Existem implicações de segurança para definir scripts de shell .
O script seria algo parecido com isto:
#!/bin/sh -
open /Applications/Whatever.app
Agora faça o script setuid no Terminal:
sudo chown root file.sh
sudo chmod 4755 file.sh
O primeiro comando faz do root o proprietário do arquivo. O segundo define como setuid, lê / escreve / executa por seu proprietário e lê / executa por todos os outros.
Em seguida, no Mac OS X, vá para Preferências do Sistema → Contas e adicione o script de shell como um item de login para o usuário. Agora, sempre que o usuário fizer logon, o script será chamado e, como está configurado, deve ser executado como root.