Assumindo que input2 é o nome do arquivo que você deseja zipar, e não o diretório que contém as coisas que você deseja compactar, você pode usar este for loop
for i in $HOME/Desktop/*; do echo zip -P asdf -r $HOME/Desktop/output2/$(basename "$i").zip "$i"; done
echo é apenas para testes. Se a saída parece correta, remova echo e execute o comando novamente.
Como um script
for i in $HOME/Desktop/*; do
echo zip -P asdf -r $HOME/Desktop/output2/$(basename "$i").zip "$i"
done