Один из способов сделать это - AuthorizationExecuteWithPrivileges()
, но это не рекомендуется для нормального хода вещей.Я понимаю, что в основном это для установщиков.
Что-то вроде:
AuthorizationRef auth = NULL;
OSStatus err = AuthorizationCreate(NULL, kAuthorizationEmptyEnvironment, kAuthorizationFlagInteractionAllowed, &auth);
err = AuthorizationExecuteWithPrivileges(auth, command, kAuthorizationFlagDefaults, args, NULL);
И вы добавляете соответствующую проверку err
...
См. Авторизация документация.