### Summary

With ansible-core 2.13 out, I wanted to finally reenable running tests for Ansible when packaging it for Voidlinux, which we couldn't on 2.12 due to Python 3.10 support missing. Now that I've reenabled the tests, I'm having trouble running them though. The problem seems to be that Voidlinux ships with `/bin`, `/sbin`, and `/usr/sbin` linked to `/usr/bin`, while the test assumes that setting `PATH=""` is enough to make sure that `get_bin_path` can't find `git`. Problem is: `get_bin_path` looks in `PATH`, but also explicitly adds `/sbin`, `/usr/sbin` and `/usr/local/sbin` (see https://github.com/ansible/ansible/blob/v2.13.1/lib/ansible/module_utils/common/process.py#L12-L44). Thus, it finds a git executable, and the error message that the tests wants to be triggered isn't actually triggered.

```
=================================== FAILURES ===================================
_______________ test_concrete_artifact_manager_scm_no_executable _______________
[gw6] linux -- Python 3.10.5 /usr/bin/python
monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f7dff16e110>

    def test_concrete_artifact_manager_scm_no_executable(monkeypatch):
        url = 'https://github.com/org/repo'
        version = 'commitish'
        mock_subprocess_check_call = MagicMock()
        monkeypatch.setattr(collection.concrete_artifact_manager.subprocess, 'check_call', mock_subprocess_check_call)
        mock_mkdtemp = MagicMock(return_value='')
        monkeypatch.setattr(collection.concrete_artifact_manager, 'mkdtemp', mock_mkdtemp)
    
        error = re.escape(
            "Could not find git executable to extract the collection from the Git repository `https://github.com/org/repo`"
        )
        with mock.patch.dict(os.environ, {"PATH": ""}):
>           with pytest.raises(AnsibleError, match=error):
E           Failed: DID NOT RAISE <class 'ansible.errors.AnsibleError'>

test/units/galaxy/test_collection_install.py:189: Failed
- generated xml file: /builddir/ansible-core-2.13.1/test/results/junit/python3.10-controller-units.xml -
```

### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
import copy
import json
import os
import pytest
import re
import shutil
import stat
import tarfile
import yaml
from io import BytesIO, StringIO
from unittest.mock import MagicMock, patch
from unittest import mock
import ansible.module_utils.six.moves.urllib.error as urllib_error
from ansible import context
from ansible.cli.galaxy import GalaxyCLI
from ansible.errors import AnsibleError
from ansible.galaxy import collection, api, dependency_resolution
from ansible.galaxy.dependency_resolution.dataclasses import Candidate, Requirement
from ansible.module_utils._text import to_bytes, to_native, to_text
from ansible.module_utils.common.process import get_bin_path
from ansible.utils import context_objects as co
from ansible.utils.display import Display
class RequirementCandidates():
    def __init__(self):