Try placing your variables inside double quotes e.g. "$VAR". Also if contents of name.txt has to be processed line by line, use "while read" instead:
Code:
while read LINE; do
Name=`echo "$LINE" | awk -F'|' '{print $1}'`
...
done < "$Names"
If it's necessary to keep leading and trailing spaces, or if IFS is expected to be altered, use IFS='' before read:
Code:
while IFS='' read LINE; do
Note that adding extra command like that could slow down loop speed by 50% though not really significant.