<!--- Verify first that your issue is not already reported on GitHub -->
<!--- Also test if the latest release and devel branch are affected too -->
<!--- Complete *all* sections as described, this form is processed automatically -->

##### SUMMARY
I am trying to run a ping module on hosts but it returns with error, I will provide yaml and hosts below.

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
<!--- Write the short name of the module, plugin, task or feature below, use your best guess if unsure -->
ping

##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes -->
ansible 2.5.1


##### CONFIGURATION
<!--- Paste verbatim output from "ansible-config dump --only-changed" between quotes -->
```
DEFAULT_BECOME(/var/www/ansible_directory/ansible.cfg) = True
DEFAULT_BECOME_ASK_PASS(/var/www/ansible_directory/ansible.cfg) = False
DEFAULT_BECOME_METHOD(/var/www/ansible_directory/ansible.cfg) = sudo
DEFAULT_BECOME_USER(/var/www/ansible_directory/ansible.cfg) = root
DEFAULT_HOST_LIST(/var/www/ansible_directory/ansible.cfg) = [u'/var/www/ansible_directory/hosts']
DEFAULT_LOAD_CALLBACK_PLUGINS(/var/www/ansible_directory/ansible.cfg) = True
DEFAULT_REMOTE_USER(/var/www/ansible_directory/ansible.cfg) = bukanansible
DEFAULT_ROLES_PATH(/var/www/ansible_directory/ansible.cfg) = [u'/var/www/ansible_directory/roles']
DEFAULT_STDOUT_CALLBACK(/var/www/ansible_directory/ansible.cfg) = yaml
HOST_KEY_CHECKING(/var/www/ansible_directory/ansible.cfg) = False

```
##### OS / ENVIRONMENT
it should be linux based


##### STEPS TO REPRODUCE
run 
```
`shell_exec("cd /var/www/ansible_directory/ && ansible -m ping all -vvvv "`
```
on scriptcase via onExecute
hosts file
```
[&hosts_route&]

R01 ansible_host=something.com ansible_connection=network_cli ansible_port=2201 ansible_user=admin ansible_password= ansible_network_os=routeros
```


##### EXPECTED RESULTS

I can ping hosts

##### ACTUAL RESULTS
```
ansible 2.5.1
  config file = /var/www/ansible_directory/ansible.cfg
  configured module search path = [u'/var/www/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/dist-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.17 (default, Sep 30 2020, 13:38:04) [GCC 7.5.0]
Using /var/www/ansible_directory/ansible.cfg as config file
setting up inventory plugins
Parsed /var/www/ansible_directory/hosts inventory source with ini plugin
Loading callback plugin yaml of type stdout, v2.0 from /usr/lib/python2.7/dist-packages/ansible/plugins/callback/yaml.pyc

PLAY [Ansible Ad-Hoc] **********************************************************
META: ran handlers

TASK [ping] ********************************************************************
 attempting to start connection
 using connection plugin network_cli
The full traceback is:
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/ansible/executor/task_executor.py", line 138, in run
    res = self._execute()
  File "/usr/lib/python2.7/dist-packages/ansible/executor/task_executor.py", line 516, in _execute
    self._connection = self._get_connection(variables=variables, templar=templar)
  File "/usr/lib/python2.7/dist-packages/ansible/executor/task_executor.py", line 790, in _get_connection
    socket_path = self._start_connection()
  File "/usr/lib/python2.7/dist-packages/ansible/executor/task_executor.py", line 877, in _start_connection
    [python, find_file_in_path('ansible-connection'), to_text(os.getppid())],
  File "/usr/lib/python2.7/dist-packages/ansible/executor/task_executor.py", line 868, in find_file_in_path
    paths = os.environ['PATH'].split(os.pathsep) + [os.path.dirname(sys.argv[0])]
  File "/usr/lib/python2.7/UserDict.py", line 40, in __getitem__
    raise KeyError(key)
KeyError: 'PATH'
fatal: [R01]: FAILED! => 
  msg: Unexpected failure during module execution.
  stdout: ''

PLAY RECAP *********************************************************************
R01                        : ok=0    changed=0    unreachable=0    failed=1   

```


for k in PASS_VARS:
            
            param_key = '_ansible_%s' % k
            if param_key in param:
                if k in PASS_BOOLS:
                    setattr(self, PASS_VARS[k][0], self.boolean(param[param_key]))
                else:
                    setattr(self, PASS_VARS[k][0], param[param_key])
                
                if param_key in self.params:
                    del self.params[param_key]
            else:
                
                if not hasattr(self, PASS_VARS[k][0]):
                    setattr(self, PASS_VARS[k][0], PASS_VARS[k][1])
        if unsupported_parameters:
            msg = "Unsupported parameters for (%s) module: %s" % (self._name, ', '.join(sorted(list(unsupported_parameters))))
            if self._options_context:
                msg += " found in %s." % " -> ".join(self._options_context)
            supported_parameters = list()
            for key in sorted(spec.keys()):
                if 'aliases' in spec[key] and spec[key]['aliases']:
                    supported_parameters.append("%s (%s)" % (key, ', '.join(sorted(spec[key]['aliases']))))
                else:
                    supported_parameters.append(key)
            msg += " Supported parameters include: %s" % (', '.join(supported_parameters))
            self.fail_json(msg=msg)
        if self.check_mode and not self.supports_check_mode:
            self.exit_json(skipped=True, msg="remote module (%s) does not support check mode" % self._name)
    def _count_terms(self, check, param=None):