```python
def apply_overrides(base: dict, overrides: list) -> dict:
    """
    Apply command-line overrides to a base dictionary of settings.

    :param base: A flat mapping of setting names to string values.
    :param overrides: A list of strings representing overrides in the format 'name=value'.
    :return: A copy of base with overrides applied, or raises ValueError for invalid inputs.
    """
    if not isinstance(overrides, list):
        raise ValueError("Overrides must be a list.")
    
    merged = base.copy()
    
    try:
        for override in overrides:
            if not isinstance(override, str) or '=' not in override:
                raise ValueError("Each override must be a string with an equals sign.")
            
            name, value = override.split('=', 1)
            
            if not name.strip():
                raise ValueError("Override name cannot be empty.")
            
            merged[name] = value
    except Exception as e:
        raise ValueError(f"Invalid override: {e}")
    
    return merged
```