Sua tentativa atual executa o comando ( ls -l ) e passa a lista resultante de arquivos para em . Isso não funciona, porque uma lista de arquivos não é uma lista de comandos. Você precisa usar echo .
user@host:~$ echo "ls -l" | at 10:27
warning: commands will be executed using /bin/sh
job 1 at Tue Apr 20 10:27:00 2010
Você também pode esquecer o pipe (e as aspas também):
user@host:~$ at 10:27 ls -l
warning: commands will be executed using /bin/sh
job 2 at Tue Apr 20 10:27:00 2010
A saída será enviada para você (na sua conta de usuário local) após a execução.