Das geht mit einer eingizgen Pipe oder etwas sicherer mit find und stat.

Mit einer einzigen Pipe, die die *.zip-Dateien nach Änderungszeit sortiert und die neueste auswählt geht das so:

ls -t *.zip 2>/dev/null | head -n1

Wie das funktioniert:

Wenn du eine Lösung bevorzugst, die auch funktioniert, wenn Dateinamen Leer- oder Zeilenumbruchszeichen enthalten, kannst du find zusammen mit stat nutzen:

find . -maxdepth 1 -type f -name '*.zip' -printf '%T@ %p\n' |
    sort -k1,1nr |
    head -n1 |
    cut -d' ' -f2-

Beide Befehle geben den Namen der .zip-Datei aus, die zuletzt geändert wurde, im aktuellen Verzeichnis.