То, как я интерпретирую справочную страницу , заключается в том, что она считает строку, которую вы передаете, аргументом; если ваша строка имеет пробелы, она думает, что вы передаете несколько аргументов. Я считаю, что ColinYounger верен, заключая переменную в кавычки, что заставляет оболочку интерпретировать строку как один аргумент.
Альтернативой может быть позволить printf расширить переменную:
printf "Hello, $NAME."
Ссылки для bash, но я уверен, что то же самое относится и к sh.