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+