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`.
{
    LOCK(cs_args);
    m_cached_datadir_path = fs::path();
    m_cached_network_datadir_path = fs::path();
    m_cached_blocks_path = fs::path();
}
std::optional<const ArgsManager::Command> ArgsManager::GetCommand() const
{
    Command ret;
    LOCK(cs_args);
    auto it = m_command.begin();
    if (it == m_command.end()) {
        
        return std::nullopt;
    }
    if (!m_accept_any_command) {
        
        ret.command = *(it++);
    }
    while (it != m_command.end()) {
        
        ret.args.push_back(*(it++));
    }
    return ret;
}
std::vector<std::string> ArgsManager::GetArgs(const std::string& strArg) const