**Apache Airflow version**:
2.0.1

**Kubernetes version (if you are using kubernetes)** (use `kubectl version`):

**Environment**:

- **Cloud provider or hardware configuration**: 4GB RAM, Processor - Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz
- **OS** (e.g. from /etc/os-release): 18.04.5 LTS (Bionic Beaver)
- **Kernel** (e.g. `uname -a`): Linux 4.15.0-136-generic
- **Install tools**: bare metal installation as per commands given [here](https://airflow.apache.org/docs/apache-airflow/stable/installation.html)

**What happened**:

On running `airflow scheduler -p` got following error:-
```
Traceback (most recent call last):
  File "/home/vineet/Documents/projects/venv/bin/airflow", line 8, in <module>
    sys.exit(main())
  File "/home/vineet/Documents/projects/venv/lib/python3.6/site-packages/airflow/__main__.py", line 40, in main
    args.func(args)
  File "/home/vineet/Documents/projects/venv/lib/python3.6/site-packages/airflow/cli/cli_parser.py", line 48, in command
    return func(*args, **kwargs)
  File "/home/vineet/Documents/projects/venv/lib/python3.6/site-packages/airflow/utils/cli.py", line 86, in wrapper
    metrics = _build_metrics(f.__name__, args[0])
  File "/home/vineet/Documents/projects/venv/lib/python3.6/site-packages/airflow/utils/cli.py", line 118, in _build_metrics
    full_command[idx + 1] = "*" * 8
IndexError: list assignment index out of range
```
As per docs, `-p` flag is a valid flag and gives correct result for `airflow scheduler --do-pickle`

**How to reproduce it**:
Install `airflow` 2.0.1 and run `airflow scheduler -p`
tests/utils/test_cli_util.py
),
            (
                "airflow users create -u test2 -l doe -f jon -e jdoe@apache.org -r admin -p=test",
                "airflow users create -u test2 -l doe -f jon -e jdoe@apache.org -r admin -p=********",
            ),
            (
                "airflow connections add dsfs --conn-login asd --conn-password test --conn-type google",
                "airflow connections add dsfs --conn-login asd --conn-password ******** --conn-type google",
            ),
        ]
    )
    def test_cli_create_user_supplied_password_is_masked(self, given_command, expected_masked_command):
        args = given_command.split()
        expected_command = expected_masked_command.split()
        exec_date = datetime.utcnow()
        namespace = Namespace(dag_id='foo', task_id='bar', subcommand='test', execution_date=exec_date)
        with mock.patch.object(sys, "argv", args):
            metrics = cli._build_metrics(args[1], namespace)
        assert metrics.get('start_datetime') <= datetime.utcnow()
        log = metrics.get('log')
        command = json.loads(log.extra).get('full_command')  
        
        command = json.loads(command.replace("'", '"'))
        assert command == expected_command
    def test_setup_locations_relative_pid_path(self):
        relative_pid_path = "fake.pid"
        pid_full_path = os.path.join(os.getcwd(), relative_pid_path)
        pid, _, _, _ = cli.setup_locations(process="fake_process", pid=relative_pid_path)
        assert pid == pid_full_path
    def test_setup_locations_absolute_pid_path(self):