Кавычки интерпретируются, прежде чем переменными заменяют, так встраивание кавычек в значениях переменных не делает ничего полезного. Если я понимаю то, что Вы пытаетесь сделать правильно, самый легкий способ сделать это состоит в том, чтобы использовать массив для RADIOLIST:
RADIOLIST=()
for ((i=0; i<${#repoar[@]}; i++))
do
RADIOLIST+=("$i" "${repoar[$i]}" "OFF")
done
let ARLENGTH=${#repoar[@]}
whiptail --radiolist "Projects found" 20 78 $ARLENGTH "${RADIOLIST[@]}"
Похож на Вас, должен измениться
RADIOLIST=$RADIOLIST" \"$i\" \"${repoar[$i]}\" \"OFF\""
Кому:
RADIOLIST=$RADIOLIST" \\\"$i\\\" \\\"${repoar[$i]}\\\" \\\"OFF\\\""
Это вставит a \
перед каждым "
в сгенерированном выводе, приводящем к желаемому выходу в вызове к whiptail
несколько строк позже.