Con array_map no puedes pasar argumentos adicionales, la solución consiste en que implementes por tu cuenta la función de recursividad.
 
O bien, emplear otro callback que use los argumentos adicionales de tu función. 
 Código PHP:
    return array_map(function($variable)
  use($length)
{
  return substr($variable,0,$length);
}, $variable); 
    
  Claro, que eso solo sirve con PHP5.3+