Acredito que isso exigirá que o programa X tenha permissões setuid e que pertença a um usuário UA que tenha privilégios de gravação na pasta A. Em seguida, quando X for chamado, ele será executado como UA, não importando o usuário para o qual foi chamado.
A maioria dos shells (talvez todos) não permite que os scripts tenham permissões setuid, eles simplesmente ignoram esse bit de permissão, a menos que X seja um binário. É claro que x poderia ser um invólucro binário que apenas executa algum script separado X.sh.
Você não deve setuid X como root se não for necessário. Você poderia tornar a pasta A gravável por um usuário UA com menos privilégios.
Como alternativa, você pode fazer com que a pasta A seja gravável por um grupo dedicado, e atribuir X a esse grupo, e usar setgid no X ao invés de setuid.