Если список позиционных параметров:
$ set -- 0wer 1wdfg 2erty 333 4ffff 5s5s5
Тогда это напечатает аргументы без последнего:
$ echo "${@:1:$#-1}"
0wer 1wdfg 2erty 333 4ffff
Конечно, параметры также могут быть установлены на это:
$ set -- "${@:1:$#-1}"
$ echo $@
0wer 1wdfg 2erty 333 4ffff
Это работает в bash версии 2.0 или выше.
Для других более простых оболочек вам понадобится (несколько сложный) цикл для удаления последнего параметра:
unset b; for a; do set -- "$@" ${b+"$b"}; shift; b="$a"; done
Похоже, вы либо используете комбинацию pam _ldap/nss _ldap, либо nss -pam -ldapd. Оба не поддерживают кэширование хэшей паролей предыдущих успешных входов в систему.
Возможно, вы захотите использовать sssd вместо этого с включенным кэшированием паролей.