Eu dividiria essa tarefa em dois elementos, o primeiro é que você precisa de um script rerar
que extraia e construa o rar e considere o nome de um rar como parâmetro:
#!/bin/bash
R="$PWD"/"$1" # if realpath is available you can use R=$(realpath "$1")
tmpdir=$(mktemp -d --suff rerar)
pushd "$tmpdir"
# extract preserving directory structure of the archive
# replace YOUR_PASS_WORD in the next line, with no space after "-p"!
unrar x -pYOUR_PASS_WORD "$R"
# backup the rar file, optional
mv "$R" "$R".org
# re-create recursively going over the files here
rar a -r "$R" .
popd
rm -rf "$tmpdir"
Agora, você só precisa executar isso em todos os arquivos RAR envolvidos. usando find
find . -name "*.rar" -exec ./rerar {} \;
Não é tão eficiente quanto chamar o script com vários parâmetros, mas aqui a ação de consumação de tempo está recriando o arquivo rar, é por isso que optei pela solução simples.