sudo funciona apenas com binários, mas não com estruturas de comando de shell. Você tem que executar a coisa toda com sudo . Não faz muito sentido chamar sudo várias vezes dentro de um loop. Pode armazenar em cache a senha, no entanto.
sudo bash -c 'for logf in /var/log/apt/history.log.?.gz; do zcat "$logf"; done'