paran0id, Мне не нравится выполнение find ~/archives_dir/ -type f -name '*.7z' для каждого пароля. Это хорошо бы вынести в отдельную переменную.
Кстати, правильнее было бы так:
#!/bin/bash
passwords=$(cat dict.txt)
for arch in $(find ~/archives_dir/ -type f -name '*.7z'); do
for pass in $passwords; do
7z x -p"$pass" "$arch" && break
done
done