Y a-t-il un moyen de changer de context comme ça?
Le script dans mon cas spécifique est un script de post-installation du programme d'installation, qui requirejs des privilèges sudo uniquement pour certaines tâches et nécessite que l'user connecté exécute un LaunchAgent à la fin du script.
Si cet agent est démarré avec les privilèges sudo, les paths d'access aux journaux et autres ressources spécifiques à l'user (placés dans le directory user) sont foirés.
C'est ce qui a fonctionné pour moi:
USER_NAME=$(printf '%s' "${SUDO_USER:-$USER}") sudo -u $USER_NAME <command-to-exec-in-nonroot-context>