Основное назначение env - запуск программы в измененной среде. Однако, env запущенная без параметров - выведет все переменные окружения среды.
Основное назначение printenv - вывод всех или отдельных переменных окружения среды. В отличии от env, printenv не позволяет модифицировать переменные окружения.