```ts
export function applyOverrides(base: Record<string, string>, overrides: string[]): Record<string, string> {
  if (!Array.isArray(overrides)) {
    throw new Error('Overrides must be an array');
  }

  const result = { ...base };

  for (const override of overrides) {
    const [name, value] = override.split('=', 2);
    if (typeof name !== 'string' || !name || typeof value !== 'string') {
      throw new Error('Invalid override format');
    }
    if (!result.hasOwnProperty(name)) {
      throw new Error(`Unknown setting name: ${name}`);
    }
    result[name] = value;
  }

  return result;
}
```