Sim:
$ env UID=0 EUID=90 bash -c 'echo $UID $EUID'
0 90
Note que o acima apenas altera os valores das variáveis. O UID real e o EUID não são afetados.
Você deve usar id
. Veja por exemplo a pergunta Como impedir que um script seja executado se não for root (e echo" Não executando como root! Saindo ... ")
O ID do usuário efetivo também será diferente do ID real se o script tiver seu bit set-uid definido (e rodar tais scripts set-uid é uma coisa no seu Unix). Nesse caso, o UID será o do usuário invocando o script, enquanto o EUID será o do proprietário do script.
Relacionados: Permitir o setuid em scripts de shell