login is used to establish a new session with the system. It is normally invoked automatically by responding to the login: prompt on the user's terminal. login may be special to the shell and may not be invoked as a sub-process. Typically, login is treated by the shell as exec login which causes the user to exit from the current shell. Attempting to execute login from any shell but the login shell will produce an error message.
When invoked from the login: prompt, the user may enter environmental variables after the username. These variables are entered in the form NAME=VALUE. Not all variables may be set in the fashion, notably PATH, HOME and SHELL. Additionally, IFS may be inhibited if the user's login shell is /bin/sh.