Seu código de exemplo não elimina privilégios! Ele pode elevar privilégios livremente chamando seteuid(euid) . Se você puder rastreá-lo, então você pode chamar seteuid(euid) e, assim, executar o código privilegiado.
Você está perguntando isso porque achou que ptrace era somente leitura? Não, não é: strace é apenas uma coisa que você pode fazer com isso; ptrace permite que o rastreador execute código arbitrário na tracee, e não apenas observe. Não há controle de acesso refinado que garanta o acesso ptrace “somente leitura”.
Mas até mesmo um ptrace somente leitura é perigoso. Um aplicativo que tenha privilégios elevados pode estar manipulando dados confidenciais. Portanto, você não pode rastrear um processo que tenha sido privilegiado, mesmo que seja descartado com privilégios. O processo tem que chamar execve para eliminar todos os vestígios de ter sido privilegiado.