The simplest fix is to have the outer read
read from a different file
descriptor instead of standard input. In Bash, the -u
option make that a
little easier.
while read -u 3 item
do
# other stuff
read -p "choose wisely: " choice
# other stuff
done 3< /tmp/item.list