Não use open
se você quiser executar como outro usuário. Abrir inicia o aplicativo que você está solicitando através do LaunchServices, que irá carregá-lo como se você tivesse clicado nele.
Se, no entanto, você executar o binário do aplicativo diretamente, ele funcionará. Por exemplo, como root (assim, de um script que já está sendo executado como root ou via sudo
), execute /Applications/TextEdit.app/Contents/MacOS/TextEdit
e o TextEdit será executado como root.