Working on "Use std::filesystem. Remove Boost Filesystem & System" #20744, I found an unfortunate [pitfall](https://github.com/bitcoin/bitcoin/pull/20744#issuecomment-946046666) -- `boost/process.hpp` depends on `boost::filesystem` when cross-compiling for Windows. It happens in Guix environment as well.

The goal of this issue is to discuss and find a solution to get rid of `boost::filesystem`.
if (key[0] == '/')
            key[0] = '-';
#endif
        if (key[0] != '-') {
            if (!m_accept_any_command && m_command.empty()) {
                
                std::optional<unsigned int> flags = GetArgFlags(key);
                if (!flags || !(*flags & ArgsManager::COMMAND)) {
                    error = strprintf("Invalid command '%s'", argv[i]);
                    return false;
                }
            }
            m_command.push_back(key);
            while (++i < argc) {
                
                m_command.push_back(argv[i]);
            }
            break;
        }
        
        if (key.length() > 1 && key[1] == '-')
            key.erase(0, 1);
        
        key.erase(0, 1);
        KeyInfo keyinfo = InterpretKey(key);
        std::optional<unsigned int> flags = GetArgFlags('-' + keyinfo.name);
        
        
        
        if (!flags || !keyinfo.section.empty()) {