Você tem tantos arquivos em /tmp que você não pode caber em todos os nomes na linha de comando de uma só vez (a versão que você possui também é insegura se algum caminho tiver espaço em branco).
A boa notícia é que find pode fazer isso para você de forma segura e correta:
find /tmp -exec touch -c '{}' +
encontrará todos os arquivos como antes e, em seguida, executará touch quantas vezes forem necessárias com tantos arquivos quanto couberão a cada vez.
find ' -exec option recebe um comando para executar os arquivos correspondentes e substitui os caminhos em que {} é. + significa que ele executa o comando com muitos arquivos de uma vez ou \; executaria touch uma vez para cada arquivo.
Como observado nos comentários, -execdir touch -c '{}' \; é estritamente mais seguro aqui, embora provavelmente seja um pouco mais lento, e não há muito benefício a ser obtido em um sistema de usuário único. Ele evita determinadas condições de corrida, alternando para cada subdiretório primeiro e, em seguida, executando o comando apenas para arquivos nesse diretório a cada vez. A opção -execdir é uma extensão não padrão, mas é suportada no GNU , FreeBSD , OpenBSD , NetBSD e OS X find s; os outros Unices comerciais geralmente não têm isso. Não tenho certeza do que você está usando, mas leve em conta o que precede se for aplicável.