A solução simples é analisar lastlog -u <username>
antes da execução. Se houver "nunca logado" na saída, você retornará imediatamente. Você pode então definir seu script em .bash_profile para executá-lo no (primeiro) login.
O script pode ser executado uma vez excluindo-o no final:
rm $0