### Summary

When I try to use the --become-password-file flag in the command 
```
> ansible-pull -i "$(hostname)," -U {repo_link} local.yml
```
I get the following error:
```
>   module_stderr: |-
    sudo: a password is required
  module_stdout: ''
  msg: |-
    MODULE FAILURE
    See stdout/stderr for the exact error
  rc: 1
```
when attempting to use the playbook:
```
- hosts: all
  tasks:

    - shell:
        cmd: uptime
      register: uptime_res
      become: true

    - debug:
        var: uptime_res
```
I believe this is a bug because the [pull.py](https://github.com/ansible/ansible/blob/ad79c1e0d032eb5dda216055ffc393043de4b380/lib/ansible/cli/pull.py#L278) does not seem to utilize the [ask_passwords](https://github.com/ansible/ansible/blob/650befed37eadcaea735673638d5475fa957ca7e/lib/ansible/cli/__init__.py#L328) function, nor build the --become-password-file into the [cmd](https://github.com/ansible/ansible/blob/ad79c1e0d032eb5dda216055ffc393043de4b380/lib/ansible/cli/pull.py#L278) variable.

### Issue Type

Bug Report

### Component Name

pull.py

### Ansible Version

```console
$ ansible --version
aansible --version
ansible [core 2.12.6]
  config file = /Users/{user}/ansible.cfg
  configured module search path = ['/Users/{user}/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/ansible
  ansible collection location = /Users/{user}/.ansible/collections:/usr/share/ansible/collections
  executable location = /Library/Frameworks/Python.framework/Versions/3.8/bin/ansible
  python version = 3.8.0 (v3.8.0:fa919fdf25, Oct 14 2019, 10:23:27) [Clang 6.0 (clang-600.0.57)]
  jinja version = 3.1.2
  libyaml = True
```


### Configuration

```console
DEFAULT_FORKS(/Users/{user}/ansible.cfg) = 100
DEFAULT_LOAD_CALLBACK_PLUGINS(/Users/{user}/ansible.cfg) = True
DEFAULT_STDOUT_CALLBACK(/Users/{user}/ansible.cfg) = yaml
HOST_KEY_CHECKING(/Users/{user}/ansible.cfg) = False

BECOME:
======

CACHE:
=====

CALLBACK:
========
```


### OS / Environment

macOS Monterey 12.5.1

### Steps to Reproduce

<!--- Paste example playbooks or commands between quotes below -->
```yaml (paste below)
- hosts: all

  tasks:

    - shell:
        cmd: uptime
      register: uptime_res
      become: true

    - debug:
        var: uptime_res
```
run the command: ```ansible-pull -i "$(hostname)," -U {repo_link} local.yml```

### Expected Results

I expect a successful playbook with an output of the current uptime.

### Actual Results

```console
TASK [shell] *******************************************************************
fatal: [{HOSTNAME}]: FAILED! => changed=false
  module_stderr: |-
    sudo: a password is required
  module_stdout: ''
  msg: |-
    MODULE FAILURE
    See stdout/stderr for the exact error
  rc: 1
```


### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
inv_opts = self._get_inv_cli()
        if inv_opts:
            cmd += inv_opts
        
        display.debug("running ansible-playbook to do actual work")
        display.debug('EXEC: %s' % cmd)
        rc, b_out, b_err = run_cmd(cmd, live=True)
        if context.CLIARGS['purge']:
            os.chdir('/')
            try:
                shutil.rmtree(context.CLIARGS['dest'])
            except Exception as e:
                display.error(u"Failed to remove %s: %s" % (context.CLIARGS['dest'], to_text(e)))
        return rc
    @staticmethod
    def try_playbook(path):
        if not os.path.exists(path):
            return 1
        if not os.access(path, os.R_OK):
            return 2
        return 0
    @staticmethod
    def select_playbook(path):
        playbook = None
        errors = []
        if context.CLIARGS['args'] and context.CLIARGS['args'][0] is not None:
            playbooks = []
            for book in context.CLIARGS['args']:
                book_path = os.path.join(path, book)